1. Field of the Invention
The present invention relates generally to a load balancing apparatus and method, and more particularly to a server load balancing apparatus and method using multi-protocol label switching session labels, which, when packets are transmitted from a plurality of clients to a plurality of servers through the Internet, distributes loads among the servers by attaching the multi-protocol label switching session labels to the headers of the packets in front of the servers and determining a server for connection using session label information.
2. Description of the Prior Art
As various Internet-based multimedia services and e-commerce have been popularized, a plurality of web servers constitutes a server farm having a cluster form, and a server load balancing apparatus is generally located in front of the server farm.
The server load balancing apparatus located in front of the servers to balance service or content requests from clients analyzes the information of packets received from the clients and distributes the requests among the servers using various load balancing algorithms. In this case, the continuation of a session should be maintained.
For this purpose, a conventional load balancing apparatus analyzes session information, such as Internet Protocol (IP) address information, transmission Control Protocol (TCP)/User Datagram Protocol (UDP) port numbers, hyper text transfer protocol (http) information and cookie information, by analyzing the information of all packets ranging from a second layer to a seventh layer. If a new session is created, the server load balancing apparatus assigns a server to the new session using a server load balancing algorithm, and stores the information in a session management table. That is, all the packets undergo a process of determining which server the packet is transmitted to through a session information analysis or a session management table search.
However, the conventional load balancing apparatus requires additional complicated software processes of comparing and analyzing the header information of all packets ranging from a second layer to a seventh layer, thus reducing the performance of the loading balancing apparatus.
Another important function of the conventional load balancing apparatus is the function of converting the IP addresses of the servers into a virtual IP address. That is, when the clients connect with the servers, the clients use information about the virtual IP address of the server load balancing apparatus rather than the actual IP addresses of the servers, so that the server load balancing apparatus performs the function of converting the IP addresses of the actual servers into the virtual IP address of the server load balancing apparatus while all packets are exchanged between the clients and the servers. As a result, this is advantageous in that the IP addresses of the actual servers are not disclosed to the public, so that the servers are protected from hacking and changes in the construction information of the actual server farm do not affect the clients.
However, the conventional load balancing apparatus is problematic in that it should perform additional processes of intercepting all the packets and changing destination or source IP addresses information from the IP addresses of the actual servers to the virtual IP address of the server load balancing apparatus.
U.S. Pat. No. 6,587,866 B1 entitled “Method for distributing packets to server nodes using network client affinity and packet distribution table” discloses a method of distributing packets among servers in a server farm. U.S. Pat. No. 6,601,084 B1 entitled “Dynamic load balancer for multiple network servers” provides a method and system for monitoring the loads of servers and distributing packets to a server having the lowest load when a load balancing system located in front of a server farm consisting of a plurality of servers distributes packets among the servers. However, the preceding patents still have the problems of the prior art, and do not reduce processing overhead caused while analyzing the header information of all the packets for the load balancing.